package br.gov.ba.mam.gerente;

import java.util.List;

import br.gov.ba.mam.banco.GerentePersistencia;
import br.gov.ba.mam.banco.IF_Persistencia;
import br.gov.ba.mam.beans.Artista;
import br.gov.ba.mam.beans.Categoria;
import br.gov.ba.mam.swing.TelaPrincipal;

/**
 * @author aziz
 * 
 */
public class GerenteAplicacao {

	private static GerenteAplicacao instancia;

	public static GerenteAplicacao getInstancia() {
		if (instancia == null) {
			instancia = new GerenteAplicacao();
		}
		return instancia;
	}

	private GerenteAplicacao() {
	}

	private IF_Persistencia persistencia;

	public void inicializarAplicacao() {
		persistencia = new GerentePersistencia();

		new TelaPrincipal();
	}

	public void salvarCategoria(Categoria cat) {
		try {
			persistencia.addCategoria(cat);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public List<Categoria> getListaCategorias() {
		return persistencia.getListaCategorias();
	}

	public static void main(String[] args) {
		GerenteAplicacao.getInstancia().inicializarAplicacao();
	}

	/** */
	public void removerCategoria(Integer codigo) {
		try {
			persistencia.delCategoria(codigo);
		} catch (Exception e) {
			e.printStackTrace();
		}

	}
	
	/** */
	public void removerArtista(Integer numeroInscricao) {
		try {
			persistencia.delArtista(numeroInscricao);
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	/** */
	public void salvarArtista(Artista a) {
		try {
			persistencia.addArtista(a);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/** */
	public List<Artista> getListaArtistas() {
		return persistencia.getListaArtistas();
	}
	
	/** */
	public Integer getNumeroTotalArtista(){
		return persistencia.getNumeroTotalArtista();
	}
	
	public void importModeON(){
		persistencia.setImportMode(true);
	}
	
	public void importModeOFF(){
		persistencia.setImportMode(false);
	}

}
